Glisp Help: チートシート
雰囲気で理解出来る方向けです。
スケッチ
code:clj
;; パスの定義
;; トランスフォーム
(rotate (deg 45))
(mat2d/* (translate-x 10) ; 複数のトランスフォームを組み合わる
(rotate PI)
(pivot 40 40 (rotate (deg 120))) ; アンカーポイント (view-center)
(path/align-at .5 p)
(transform (translate 50 50) p) ; トランスフォームの適用 ;; スタイル
(style (fill "red") p)
(style (stroke "blue" 20) p) ; -> width = 20
(style (stroke "blue" 20 :cap "round") p)
;; パス
;; パスの変形
(path/merge A B)
(path/unite A B)
(path/subtract A B)
(path/intersect A B)
(path/offset 10 B)
(path/offset-stroke 2 A)
;; ベクタ操作
;; 画面全体の背景色
(background "blue")
;; アートボード
:background "red"}
;; カラー
"#ff0000"
"red"
(color 1 0 0)
(color 0.5) ; 50%グレー
シンタックス
code:clj
;; リテラル
3.14159
"String"
:keyword
symbol
(+ 1 2) ; List
{:key "value"} ; Map
;; 変数の宣言
(def a 10)
(* b 2)) ; -> 10 (レキシカルスコープ)
;; 計算
(+ 1 2) ; -> 3
(/ 20 5) ; -> 4
(- 10) ; -> 10
(mod 12 5) ; -> 2
(sqrt 9) ; -> 3
PI
TWO_PI
HALF_PI
E
;; ベクトル
(vec2/angle 0 1) ; -> 1.5707 (HALF_PI) ;; 論理演算子
(= 1 1) ; -> true
(> 2 3) ; -> false
(not true) ; -> false
(and true false) ; -> false
(or false false true) ; -> true
;; 関数の定義
(* x x))
(square 5) ;-> 25
;; 条件分岐など
(if true "x is true" "x is false") ; -> "x is true"
(do (def x 10)
(def y 50)
(* x y)) ; -> 500 (最後の文が返される)
(cond (zero? a) "a is zero"
(even? a) "a is even"
:else "a is odd") ; -> "a is even"
(case a
0 "a is zero"
1 "a is one"
"a is neither zero or one" ; -> "a is neither..
;; その他
(println "Hello World")
(prn PI)